1. Field of the Invention
The disclosure is directed to a method for allowing devices to interact with each other in a user-determined (rather than programmer determined) manner.
2. Description of the Related Art
User devices, such as cell phones, smart phones, tablet computers, personal computers, laptops, smart televisions, personal digital assistants, and the like, are increasingly able to interact with each other. User devices may communicate with each other on a peer-to-peer basis over a common local area network. For example, a smart phone, a smart television, and a tablet computer may communicate with each other on a user's home Wi-Fi network. Alternatively, user devices connected to different networks may communicate with each other via a server with access to each of the different networks.
Currently, interactions between user devices are constrained by the limitations set by programmers. Typically, in order for user devices to communicate with each other, the user devices typically must have applications developed by the same programmer installed. A user might want to have two user devices communicate, but because they do not both have a specific application installed, the user devices are only able to perform a limited set of actions. Similarly, a user will often want to do something with an existing application that is different from its capabilities in some way.
There are numerous examples of user devices interacting in a strictly predetermined manner. For example, two user devices can transfer files over Bluetooth when both devices have a Bluetooth file sharing application installed. As another example, a number of users can play the same game on their respective user devices when each user device has the same game installed and the same communication abilities. As yet another example, a video can be streamed from a smart phone to a smart television when both devices have been explicitly programmed to support this interaction.
Accordingly, it would be beneficial to allow user devices to interact with each other in a user-determined (rather than programmer-determined) manner.